/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package tk.eigh.ksvg.component.text;

import ksvg.core.SVGTextContent;
import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFComponent;
import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFProperty;
import tk.eigh.ksvg.component.painting._FillProperties;
import tk.eigh.ksvg.component.painting._StrokeProperties;

/**
 *
 * @author nt
 */
@JSFComponent(type = "tk.eigh.svg.TextContent",
family = "text.TextContent",
clazz = "ksvg.text.TextContent",
tagClass = "ksvg.text.tags.TextContentTag",
defaultRendererType = "SVGTextContentRenderer")
public abstract class AbstractTextContent extends SVGTextContent implements
        _FontProperties, _StrokeProperties, _FillProperties, _TextContentProperties {

    /**
     * externalResourcesRequired = "false | true"
     *<br/>
     * false (The default value.) Indicates that resources external to the
     * current document are optional. Document rendering can proceed even if
     * external resources are unavailable to the current element and its
     * descendants.
     *<br/>
     * true Indicates that resources external to the current document are
     * required. If an external resource is not available, progressive rendering
     * is suspended, the document's SVGLoad event is not fired and the animation
     * timeline does not begin until that resource and all other required
     * resources become available, have been parsed and are ready to be
     * rendered. If a timeout event occurs on a required resource, then the
     * document goes into an error state (see Error processing). The document
     * remains in an error state until all required resources become available.
     */
    @JSFProperty
    public abstract Boolean getExternalResourcesRequired();

    /**
     * Value: inline | block | list-item | run-in | compact | marker | table |
     * inline-table | table-row-group | table-header-group | table-footer-group
     * | table-row | table-column-group | table-column | table-cell |
     * table-caption | none | inherit
     *<br/>
     * see http://www.w3.org/TR/SVG/painting.html#DisplayProperty
     *<br/>
     * Animatable: yes
     */
    @JSFProperty
    public abstract String getDisplay();

    /**
     * Value: visible | hidden | collapse | inherit
     *<br/>
     * Note that if the ‘visibility’ property is set to hidden on a ‘tspan’,
     * ‘tref’ or ‘altGlyph’ element, then the text is invisible but still takes
     * up space in text layout calculations.
     *<br/>
     * Depending on the value of property ‘pointer-events’, graphics elements
     * which have their ‘visibility’ property set to hidden still might receive
     * events.
     *<br/>
     * Except for any additional information provided in this specification, the
     * normative definition of the ‘visibility’ property is the CSS2 definition
     * ([<a href="http://www.w3.org/TR/SVG/refs.html#ref-CSS2">CSS2<a/>], section 11.2).
     *<br/>
     * Animatable: yes
     */
    @JSFProperty
    public abstract String getVisibility();
}